#ifndef HUEVO_H
#define	HUEVO_H

#include <string>
#include "Actor.h"
#include "ActoresConstantes.h"
#include "UtilidadesConstantes.h"
#include "Perimetro.h"
#include "tinyxml.h"

using namespace TP::Juego::Arena::Utilidades;

namespace TP { namespace Juego { namespace Arena { namespace Actores {

class Huevo : public Actor {
public:
    Huevo();

    virtual ~Huevo();
    
    Huevo(const string& pNombre);
    
    virtual IColisionado* colisionar (IColisionado* pColisionado);
    
    virtual double getPoderAtaqueContraPajarito () = 0;
    
    virtual double getPoderAtaqueContraSuperficie () = 0;
    
    virtual double getPoderAtaqueContraCerditos () = 0;
    
    virtual string aXML();
    
    virtual string aXML(const string& pPath);
    
    virtual void parseXML (const string& pDescriptor);

    virtual TiXmlElement* aElementoXML () = 0;
    
    virtual void deElementoXML (TiXmlElement* pElemento) = 0;    
    
protected:
    
    Perimetro* colisionarContraPerimetro (Perimetro* pPerimetro);

};
}}}}
#endif	/* HUEVO_H */

